package com.aode.sovo_miniprogram.utils;

import com.aode.sovo_miniprogram.vo.ResultCode;
import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class ResultMsgUtils {

    final static String KEY_CODE = "code"; //结果代码的key
    final static String KEY_MSG = "msg"; //结果消息的key
    final static String KEY_DATA = "data"; //结果数据的key
    private JSONObject json = new JSONObject();


    /**
     * 设置成功消息
     */
    public void setSuccess() {
        json.put(KEY_CODE, ResultCode.SUCCESS.getCode());
        json.put(KEY_MSG, ResultCode.SUCCESS.getMsg());
    }

    /**
     * 设置失败消息
     */
    public void setFail() {
        json.put(KEY_CODE, ResultCode.FAIL.getCode());
        json.put(KEY_MSG, ResultCode.FAIL.getMsg());
    }
    /*
    * 设置是否存在子类
    * */
    public void setExistSecond(){
        json.put(KEY_CODE,ResultCode.ExistSecondClass.getCode());
        json.put(KEY_MSG,ResultCode.ExistSecondClass.getMsg());
    }

    /*
    * 存在字类下的详细服务
    * */
    public void setExistDetail(){
        json.put(KEY_CODE,ResultCode.ExistDetail.getCode());
        json.put(KEY_MSG,ResultCode.ExistDetail.getMsg());
    }

    /**
     * 设置消息代码
     * @param resultCode
     */
    public void setResultCode(ResultCode resultCode) {
        json.put(KEY_CODE, resultCode.getCode());
        json.put(KEY_MSG, resultCode.getMsg());
    }

    /**
     * 设置消息数据
     * @param data
     */
    public void setData(Object data) {
        json.put(KEY_DATA, data);
    }

    /**
     * 获取结果json
     * @return
     */
    public JSONObject getResultJson(){
        return json;
    }

    public String getJsonString(){
        return json.toJSONString();
    }
}
